/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Simulacion.Controlador;

import com.dp1.pucp.Modelo.Algoritmos.LeeDatos;
import com.dp1.pucp.Modelo.Clases.Maquina;
import com.dp1.pucp.Modelo.Clases.Tipomaquina;
import java.io.File;
import java.io.FileNotFoundException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author ubuntu64
 */
public class CargaDatosMaquinas {
    
    public ArrayList<Maquina> LeeMaquinas(String nombreArchivo){
        ArrayList<Maquina> maquinas = new ArrayList<>();
        
        File ArchivoMaquina = new File(nombreArchivo);
        
        if(ArchivoMaquina!=null){
            try {
                Scanner sc = new Scanner(ArchivoMaquina);
                
                String linea = "";
                
                
                while (sc.hasNextLine()){
                    
                    linea = sc.nextLine();
                    String[] partes = linea.split("/");
                    String codigo = partes[0];
                    String estado = partes[1];
                    String fecha = partes[2];
                    String capacidad = partes[3];
                    String tipomaquina = partes[4];                    
                    
                    Maquina m = new Maquina();
                    
                    m.setCodigo(codigo);                    
                    m.setEstado(Integer.valueOf(estado));                    
                    Date nuevaFecha= new Date();
                    try {
                        nuevaFecha = new SimpleDateFormat("yyyy-MM-dd").parse(fecha);
                    } catch (ParseException ex) {
                        Logger.getLogger(CargarDatosOperarios.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    m.setFechaIngreso(nuevaFecha);
                    m.setMaxProduccion(Integer.valueOf(capacidad));                    
                    Tipomaquina t = new Tipomaquina();
                    t.setIdtipomaquina(Integer.valueOf(tipomaquina));
                    m.setTipomaquina(t);
                    maquinas.add(m);
                }
                
            } catch (FileNotFoundException ex) {
                Logger.getLogger(LeeDatos.class.getName()).log(Level.SEVERE, null, ex);
            }
           
            
        }
        
        return maquinas;
    }
    
}
